Virtual fitting system with motion activated light

ABSTRACT

A system configured to facilitate virtual outfit fitting is described. The system includes a smart closet device having components including a display door and a plurality of image sensors. A first image sensor of the plurality of image sensors is configured to move across a horizontal axis and a vertical axis of enclosure of the smart closet device to capture a plurality of images of a first outfit hung on an outfit hanging column. The smart closet device also includes a computing unit to generate a three-dimensional (3D) model of the first outfit based on the plurality of images. The computing unit is further configured to update an outfit database by storing the generated 3D model of the first outfit in an outfit database. The computing unit generate an image of a user wearing the output in response to receiving a selection of the first output from the user.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a Continuation of U.S. application Ser. No.17/232,801, now allowed, having a filing date of Apr. 16, 2021 which isa Continuation of U.S. application Ser. No. 17/091,192, pending, havinga filing date of Nov. 6, 2020.

BACKGROUND OF THE INVENTION Technical Field

The present disclosure is directed to virtual outfit fittingtechnologies, and in particular to systems and methods for virtualoutfit fitting based on a smart wardrobe.

Description of Related Art

The “background” description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description which may nototherwise qualify as prior art at the time of filing, are neitherexpressly or impliedly admitted as prior art against the presentinvention.

Conventional methods of shopping involved customers visiting physicalstores to select and try on outfits before making a purchase. Customersprefer physically trying on the outfits to ensure the outfit is ofcorrect size, the outfit properly fits and match their body figures, theoutfit is comfortable and the like. Also, sizes for a customer oftendiffer from one brand of clothing to another and from one style toanother. So, the customers prefer to physically wear and test theoutfits before making a purchase decision. However, physically wearingand testing the outfits is a time consuming process as a customer has towear and test several outfits before the customer can decide on design,color, size, fitting, etc., of an outfit that satisfies him or her. Insome situations, the customer may have to wait in a long queue outside afitting room in order to wear and test the outfit. Many times thecustomers get frustrated due to long waits and may not make a purchase.Also, sometimes the customers worry about hygiene issues. Especiallyduring a pandemic customers are reluctant to wear the clothing fortesting.

Online shopping provides respite and an alternative to physicalshopping. In online shopping, customers make a purchase and sizeselection decision based on two dimensional (2D) images of the outfitsand choosing sizes which they deem accurate. With the problem ofnon-standard sizing of clothes by different brands, the chosen size maynot be accurate. These methods are not accurate and not interactive inproviding the right sizes and choices to the customers. As a result,many times customers end up buying wrong sizes and return the productsoon after. This results in loss of sales, loss of trust in brands, lossfor brands in shipping and return costs and wastage of merchandise.

A system for generating an image of a first user in a garment wasdescribed in U.S. patent Ser. No. 10/134,083 B2 “Computer implementedmethods and systems for generating virtual body models for garment fitvisualisation” and a computing device for controlling a movementtraining environment was described in U.S. patent application Ser. No.10/134,296 B2 “Enhancing movement training with an augmented realitymirror”, each of which is incorporated herein by reference in itsentirety. However, the systems described in these references and otherconventional systems suffer from various limitations. The lack of sizingstandards combined with unreliable labeling cause outfit fittingproblems, which in turn cause a very high rate of outfit returns, lostsales, time wasted in fitting rooms, and a bad shopping experience.

SUMMARY

In an exemplary embodiment, a system for facilitating virtual outfitfitting is described. The system includes a smart closet device havingcomponents including a display door on a front face of the smart closetdevice configured to open and close to provide access to an enclosedspace within the smart closet device, a plurality of image sensors,where a first image sensor of the plurality of image sensors ispositioned in the enclosed space and is configured to move across ahorizontal axis and a vertical axis of the smart closet device, and acomputing unit operatively connected to the components. The computingunit is configured to capture a plurality of images of a first outfithung on an outfit hanging column by the first image sensor across thehorizontal axis and the vertical axis, where the outfit hanging columnis positioned in the enclosed space and is configured to hang outfits,generate a three-dimensional (3D) model of the first outfit based on thecaptured plurality of images, and update an outfit database by storingthe generated 3D model of the first outfit in the outfit database,wherein the outfit database includes 3D models corresponding to aplurality of outfits. The computing unit is further configured toretrieve the 3D models corresponding to the plurality of outfits fromthe updated outfit database in response to detecting a user in thevicinity of a second image sensor of the plurality of image sensors,where the retrieved 3D models corresponding to the plurality of outfitsincludes the generated 3D model of the first outfit. The computing unitthen generates a user interface on the display door to display theretrieved 3D models corresponding to the plurality of outfits, receivesa selection of the generated 3D model of the first outfit from thedisplayed 3D models corresponding to the plurality of outfits, determinea body size of the user by capturing a plurality of images of the userby the second image sensor, upon receiving the selection of thegenerated 3D model of the first outfit, generate an image of the usercorresponding to the determined body size of the user on the userinterface, and overlay the generated 3D model of the first outfit overthe generated image of the user on the user interface.

In another exemplary embodiment, a smart closet device for facilitatingthe virtual outfit fitting is described. The smart closet deviceincludes a display door on a front face of the smart closet device andis configured to open and close to provide access to an enclosed spacewithin the smart closet device, a plurality of image sensors, where afirst image sensor of the plurality of image sensors is positioned inthe enclosed space and is configured to move across a horizontal axisand a vertical axis of the smart closet device, and one or moreprocessors configured to capture a plurality of images of a first outfithung on an outfit hanging column by the first image sensor across thehorizontal axis and the vertical axis, where the outfit hanging columnis positioned in the enclosed space and is configured to hang outfits,generating a three-dimensional (3D) model of the first outfit based onthe captured plurality of images, updating an outfit database by storingthe generated 3D model of the first outfit in the outfit database,wherein the outfit database includes 3D models corresponding to aplurality of outfits, retrieving the 3D models corresponding to theplurality of outfits from the updated outfit database, in response todetecting a user in the vicinity of a second image sensor of theplurality of image sensors, wherein the retrieved 3D modelscorresponding to the plurality of outfits includes the generated 3Dmodel of the first outfit, generating a user interface on the displaydoor to display the retrieved 3D models corresponding to the pluralityof outfits, receiving a selection of the generated 3D model of the firstoutfit from the displayed 3D model corresponding to the plurality ofoutfits, determining a body size of the user by capturing a plurality ofimages of the user by the second image sensor, upon receiving theselection of the generated 3D model of the first outfit, generating animage of the user corresponding to the determined body size of the useron the user interface, and overlaying the generated 3D model of thefirst outfit over the generated image of the user on the user interface.

The foregoing general description of the illustrative aspect of thepresent disclosures and the following detailed description thereof aremerely exemplary aspects of the teachings of this disclosure, and arenot restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of this disclosure and many of theattendant advantages thereof will be readily obtained as the samebecomes better understood by reference to the following detaileddescription when considered in connection with the accompanyingdrawings, wherein:

FIG. 1 depicts architecture of a system including a smart closet devicefor facilitating virtual outfit fitting, according to exemplary aspectsof the present disclosure;

FIG. 2 depicts a perspective view of the smart closet device, accordingto exemplary aspects of the present disclosure;

FIG. 3 depicts an inside view of the smart closet device, according toexemplary aspects of the present disclosure;

FIG. 4 illustrates a flowchart of a method for generating athree-dimensional (3D) model of a first outfit, according to exemplaryaspects of the present disclosure;

FIG. 5 illustrates a flowchart of a method for overlaying the 3D modelof the first outfit over an image of a user, according to exemplaryaspects of the present disclosure;

FIG. 6 is an illustration of a non-limiting example of details ofcomputing hardware used in the computing system, according to exemplaryaspects of the present disclosure;

FIG. 7 is an exemplary schematic diagram of a data processing systemused within the computing system, according to exemplary aspects of thepresent disclosure;

FIG. 8 is an exemplary schematic diagram of a processor used with thecomputing system, according to exemplary aspects of the presentdisclosure; and

FIG. 9 is an illustration of a non-limiting example of distributedcomponents which may share processing with the controller, according toexemplary aspects of the present disclosure.

DETAILED DESCRIPTION

In the drawings, like reference numerals designate identical orcorresponding parts throughout the several views. Further, as usedherein, the words “a,” “an” and the like generally carry a meaning of“one or more,” unless stated otherwise.

Furthermore, the terms “approximately,” “approximate,” “about,” andsimilar terms generally refer to ranges that include the identifiedvalue within a margin of 20%, 10%, or preferably 5%, and any valuesthere between.

Aspects of the present disclosure are directed to a system forfacilitating virtual outfit fitting. The present disclosure allows usersto select and try different outfits without physically wearing them.

FIG. 1 depicts architecture of a system 100 including a smart closetdevice for facilitating virtual outfit fitting, according to exemplaryaspects of the present disclosure.

According to aspects of the present disclosure, the system 100 includesa smart closet device 102. The smart closet device 102 provides visualsof users wearing different outfits without actually wearing the outfits.In other words, the smart closet device 102 is designed to help theusers visualize how the outfits will look on them, without having tophysically wear the outfits. By providing such visuals, the smart closetdevice 102 assists the users to make purchase decisions or at least helpthe users to narrow down the selection to a few outfits beforephysically trying them on in a retail setting. In a home setting, thesmart closet device 102 assists the users in deciding which outfits towear. Examples of an outfit include, but are not limited to, a shirt, at-shirt, a top, a dress, a sweater, a sweatshirt, a skirt, a trouser,and a jacket. According to aspects of the present disclosure, the smartcloset device 102 may be deployed in retail stores, home closets, or anyother appropriate places to facilitate the process of selecting andtrying on outfits without physically wearing them. The descriptionhereinafter is explained with reference to outfits (or clothes) only forthe purpose of explanation, it should not be construed as a limitation,and it is well appreciated that the present disclosure may also beapplicable to various articles such as shoes, eyewear, fashionaccessories, and the like.

In some aspects of the present disclosure, the smart closet device 102may be of a rectangular prism shape. A rectangular prism is a polyhedronwhose surface is formed by two equal and parallel rectangles calledbases and by four lateral faces that are also parallel rectangles andthat are equal to their respective opposing faces. Although the smartcloset device 102 is described to be of the rectangular prism shape, inother aspects of the present disclosure, the smart closet device 102 maybe designed in any desired shape and size. In accordance with thepresent disclosure, for the purpose of facilitating virtual outfitfitting (i.e., facilitating the process of selecting and trying onoutfits), the smart closet device 102 of the present disclosure may beinitially trained over a plurality of outfits. Smart closet device 102may store a machine learning algorithm in memory 106 that is trained topredict or recommend outfits based on determining a user within avicinity of image sensors 112. In an aspect of the present disclosure,the process of selecting and trying on the outfits by the users isperformed in real-time. In some aspects of the present disclosure, thesmart closet device 102 may be pre-trained or may be trained inreal-time. In some aspects of the present disclosure, the smart closetdevice 102 may be trained when the smart closet device 102 is idle i.e.,not in use. In an example, the smart closet device 102 may be trained asand when new outfits arrive at the retail store in which the smartcloset device 102 is deployed.

An initial overview of machine learning and prediction is first providedimmediately below and then specific exemplary embodiments of systems,methods, and devices for facilitating virtual outfit fitting aredescribed in further detail. The initial overview is intended to aid inunderstanding some of the technology relevant to the systems, methods,and devices disclosed herein, but it is not intended to limit the scopeof the claimed subject matter.

In the world of machine prediction, there are two subfieldsknowledge-based systems and machine-learning systems. Knowledge-basedapproaches rely on the creation of a heuristic or rule-base which isthen systematically applied to a particular problem or dataset.Knowledge based systems make inferences or decisions based on anexplicit “if-then” rule system. Such systems rely on extracting a highdegree of knowledge about a limited category to virtually render allpossible solutions to a given problem. These solutions are then writtenas a series of instructions to be sequentially followed by a machine.

Machine learning systems, unlike the knowledge-based systems, providemachines with the ability to learn through data input without beingexplicitly programmed with rules. For example, as just discussed,conventional knowledge-based programming relies on manually writingalgorithms (i.e., rules) and programming instructions to sequentiallyexecute the algorithms. Machine learning systems, on the other hand,avoid following strict sequential programming instructions by makingdata-driven decisions to construct their own rules. The nature ofmachine learning is the iterative process of using rules, and creatingnew ones, to identify unknown relationships to better generalize andhandle non-linear problems with incomplete input data sets. A detailedexplanation of one such machine learning technique is disclosed in thearticle: Michalski, R. S., Stepp, R. E. “Learning from Observation:Conceptual Clustering,” Chapter 11 of Machine Learning: An ArtificialIntelligence Approach, eds. R. S. Michalski, J. G. Carbonell and T. M.Mitchell, San Mateo: Morgan Kaufmann, 1983. Embodiments of the presentdisclosure implement a prediction model which uses machine learning.

According to some aspects of the present disclosure, the smart closetdevice 102 may include a computing unit 104 and a memory 106. Thecomputing unit 104 may be implemented as one or more microprocessors,microcomputers, microcontrollers, digital signal processors, centralprocessing units, graphical processing units, state machines, logiccircuitries, and/or any devices that manipulate signals based onoperational instructions. Among other capabilities, the computing unit104 may be configured to fetch and execute computer-readableinstructions stored in the memory 106. In an aspect of the presentdisclosure, the memory 106 may include any computer-readable mediumknown in the art including, for example, volatile memory, such as staticrandom access memory (SRAM) and dynamic random access memory (DRAM)and/or nonvolatile memory, such as read only memory (ROM), erasableprogrammable ROM, flash memories, hard disks, optical disks, andmagnetic tapes. The memory 106 may be capable of storing data andallowing any storage location to be directly accessed by the computingunit 104. The smart closet device 102 also includes a display door 108and a user interface 110. In an example, the display door 108 ispositioned on a front face of the smart closet device 102. The displaydoor 108 is configured to open and close to provide access to anenclosed space within the smart closet device 102. In an example, thedisplay door 108 may be configured to open and close in response to auser interaction. According to aspects of the present disclosure, thedisplay door 108 may include a display screen, a touch screen, or anyother appropriate display unit. Further, the user interface 110 mayprovide options, such as a soft keyboard, a soft pointer, or any otheruser selectable option to communicate, access and control variousfunctions of the smart closet device 102. In some aspects of the presentdisclosure, the smart closet device 102 may include communicationhardware such as a communication interface to communicate with otherdevices, such as web servers and external repositories. The smart closetdevice 102 may also include communication interfaces to facilitatemultiple communications with a wide variety of networks and protocoltypes, including wired networks, for example, LAN, cable, etc., andwireless networks, such as WLAN, cellular, or satellite.

In some aspects of the present disclosure, the user interface 110 may begenerated by the computing unit 104 on the display door 108. In anexample, the user interface 110 may be generated as an applet or as astand-alone interface. In an example, the computing unit 104 maygenerate the user interface 110 on the display door 108 based onconventional or proprietary methods and techniques. According to someaspects of the present disclosure, the smart closet device 102 mayinclude an outfit hanging column (not shown in FIG. 1). The outfithanging column may be positioned in the enclosed space within the smartcloset device 102. In aspects of the present disclosure, the outfithanging column may be configured to hang outfits.

The smart closet device 102 may also include a plurality of imagesensors 112 (hereinafter collectively referred to as image sensors 112,and individually referred to as an image sensor 112). In an example,each image sensor 112 may be a red green blue-depth (RGB-D) camera. AnRGB-D camera captures color images (or RGB images) along with per-pixeldepth information. Known examples of the RGB-D camera includes aMicrosoft® Kinect™ and Asus® Xtion™. In some aspects of the presentdisclosure, the image sensors 112 may be any imaging device such as acolor camera.

In some aspects of the present disclosure, the image sensors 112 mayinclude at least a first image sensor and a second image sensor. Thefirst image sensor may be positioned in the enclosed space within thesmart closet device 102 and configured to move across a horizontal axisand a vertical axis of the smart closet device 102. The second imagesensor may be positioned on the front face of the smart closet device102. According to aspects of the present disclosure, the first imagesensor may capture a plurality of images of each outfit that is hung onthe outfit hanging column. According to some aspects of the presentdisclosure, the first image sensor may provide the plurality of imagesof each outfit to the computing unit 104 for generation of athree-dimensional (3D) model of each outfit based on the capturedplurality of images. The computing unit 104 may generate the 3D model ofeach outfit based on the captured plurality of images. In an example, a3D model of an outfit may represent outfit data including outfit length,shoulder width, sleeve length, chest circumference, waist circumference,and other such information.

Additionally, lighting devices (not shown in drawings) may be installedwithin the enclosure 304 of the smart closet device 102. Lightingdevices may be LED bulbs, incandescent bulbs, compact fluorescent lightbulbs (CFL) or a combination of these, although any other type oflighting device may also be included.

Lighting devices are electrically coupled to image sensors 112 which iscoupled to one or more batteries and/or to one or more power supplysources. The power supply is preferably four AA batteries, but anoptional AC adapter is accommodated. Further, the lighting device isactivated by image sensors 112. The lighting device allows for threemodes: off, always on, and auto-on-off. In the auto-on-off mode, thelighting device lights when the image sensors 112 detects motion, andunless the image sensors 112 detects that the ambient light is above acertain level at which the lighting device is not needed. Upon detectingmotion, the lighting device will light and stay lit for a predeterminedtime period, e.g. 90 seconds, and then automatically turn off. In anembodiment, lighting device may be turned on always and in an embodimentthe lighting device may be turn off upon not detecting a motion for morethan a predetermined time period. In an embodiment, the lighting devicemay turn on for a predetermined time period when display door 108 isopened.

Further, incandescent bulbs may be of 40 or 60 Watts and would provide290 or 840 Lumens of light, however any other specifications of Wattagemay also be included. CFL bulbs may be of 9 or 13 Watts and wouldprovide 550 or 810 Lumens of light, however any other specifications ofWattage may also be included. LED bulbs may be of 6 or 9.5 Watts andwould provide 450 or 800 Lumens of light, however any otherspecifications of Wattage may also be included.

According to some aspects of the present disclosure, the second imagesensor may capture a plurality of images of a user(s) when the user(s)is in a vicinity of the second image sensor. A user may be said to be ina vicinity of the second image sensor if the user is in a field of viewof the second image sensor. In an example, the field of view may bedefined to be about 10 meters in the field of view of the second imagesensor. In an example, the second image sensor starts capturing theplurality of images of the user when the user is in the vicinity of thesecond image sensor for more than a threshold period of time. Forexample, the second image sensor may start capturing the plurality ofimages of the user when the user moves into the vicinity and stays formore than 5 seconds.

According to some aspects of the present disclosure, the second imagesensor may provide the plurality of images of the user to the computingunit 104 for further processing. The computing unit 104 may beconfigured to determine a body size of the user based on the pluralityof images of the user captured by the second image sensor. The body sizeof the user is also referred to as body profile of the user. In anon-limiting example, the body size of the user may include height,chest circumference, waist circumference, hip circumference, arm width,arm length, thigh length, thigh circumference, head circumference, andother such information related to body parts of the user. In someaspects of the present disclosure, the body size or body measurements ofthe user may be pre-stored in the memory 106. For example, in situationswhere the user is a repeat customer or a regular customer, the body sizeof the user may have been previously determined and stored in the memory106 for later use by the computing unit 104. Further, the memory 106 mayoptionally store information pertaining to the user such as personaldetails such as name, contact details, purchase history, and the like.The information pertaining to the user including the body size mayhereinafter be referred to as user data.

Further, US Published Patent Application No. 2015/0154691 A1 to Curry etal. discloses various methods of generating body profile for users,which in incorporated by computing unit 104 to determine a body size ofthe user based on the plurality of images of the user captured by thesecond image sensor.

According to some aspects of the present disclosure, the smart closetdevice 102 may include an outfit database 114. The outfit database 114may be configured to store 3D models corresponding to the plurality ofoutfits. Further, the outfit database 114 may be periodically ordynamically updated as required. For example, if an outfit is sold out,the 3D model corresponding to the sold out outfit may be removed fromthe outfit database 114. In another similar example, if a new outfit isadded to the inventory, the smart closet device 102 may take images ofthe new outfit and generate a 3D model corresponding to the new outfitto be stored in the outfit database 114.

The smart closet device 102 may further include a control panel 116, amicrophone 118, and a scanner 120. In an example, the control panel 116,the microphone 118, and the scanner 120 may be positioned on the frontface of the smart closet device 102.

In some aspects of the present disclosure, the control panel 116 maymanage operations of the smart closet device 102 and facilitatescommunication between, for example, the computing unit 104 and the imagesensors 112 of the smart closet device 102. The control panel 116 mayinclude one or more hardware elements for managing and controlling thesmart closet device 102. In a non-limiting example, the one or morehardware elements may include one or more buttons, a keypad, and anaccess control card reader. In an example, the control panel 116 mayinclude a door opening button to open/unlock the display door 108 of thesmart closet device 102 and a door closing button to close/lock thedisplay door 108. For example, the door opening button and the doorclosing button may be arranged next to each other on the control panel.Also, the functions of the door opening button and the door closingbutton may be displayed by symbols and characters such as arrows.

In a preferable embodiment, the door opening actuated by a proximityswitch. The proximity switches triggered on approach of an individualpreparing to use the closet. In an embodiment when the outside surfaceof the display door 108 is a mirror, control functions for the closetmay be mounted remotely. For example, a pedestal set back 0.5-3 m fromthe outside surface. This permits an individual to control the closetfrom a distance while viewing a mirror image. Alternately, the frontsurface of the door (108) May include large-format CD screen thatdisplays and idealized image of an outfit on an individual.

According to some aspects of the present disclosure, the microphone 118may be enabled to detect voice commands. In some aspects of the presentdisclosure, a set of voice commands may be provided to the user tooperate the smart closet device 102. These voice commands may bedisplayed or provided at the smart closet device 102. Further, thescanner 120 may be a barcode scanner, a quick response (QR) code scanneror any other scanner. Considering the example of the barcode scanner,the scanner 120 may capture and read barcodes, decode data included inthe barcodes, and send the data to the computing unit 104 for furtherprocessing. In an example, each outfit may include a barcode attached toit. A barcode of an outfit may include information about the outfit suchas a size of the outfit, a type of the outfit, a color of the outfit, amanufacturer of the outfit, a price of the outfit, and other suchinformation related to the outfit.

FIG. 2 depicts a perspective view 200 of the smart closet device 102,according to exemplary aspects of the present disclosure.

FIG. 2 shows the smart closet device 102 in a closed state. According toan aspect of the present disclosure, the smart closet device 102includes a second image sensor 202. As can be seen in FIG. 2, the secondimage sensor 202 is positioned on the front face of the smart closetdevice 102. In some aspects of the present disclosure, the second imagesensor 202 may include a single image sensor. In other aspects of thepresent disclosure, the second image sensor 202 may include more thanone image sensors. Further, as can be seen in FIG. 2, the smart closetdevice 102 includes the display door 108, the control panel 116, and thescanner 120.

FIG. 3 depicts an inside view 300 of the smart closet device 102,according to exemplary aspects of the present disclosure.

As can be seen in FIG. 3, the smart closet device 102 includes an outfithanging column 302 configured to hang outfits in an enclosure 304 and afirst image sensor 306 in the enclosure 304. Images sensors 112 includeimage sensor 202 and image sensor 302. As shown in FIG. 3, the enclosure304 of the smart closet device 102 includes a horizontal rail 308 and avertical rail 310 for the movement of the first image sensor 306. Insome aspects of the present disclosure, the enclosure 304 of the smartcloset device 102 may include rails located on a top surface of theenclosure 304 extending from a front end to a back end of the enclosure304 for the movement of the first image sensor 306 along a depth of theenclosure 304. The first image sensor 306 is configured to captureimages of the outfits hung on the outfit hanging column 302 in theenclosure 304. The first image sensor 306 moves across a horizontal axisalong the horizontal rail 308 and a vertical axis along the verticalrail 310 of the smart closet device 102.

According to an aspect of the present disclosure, for training the smartcloset device 102 for a plurality of outfits, the plurality of outfitsis placed inside the smart closet device 102. In an example, at a timeone outfit may be placed inside the smart closet device 102. In anotherexample, multiple outfits may be placed inside the smart closet device102 at a time. Examples of an outfit include, but are not limited to, ashirt, a dress, a trouser, and a jacket. The present disclosurehenceforth has been explained with reference to one outfit(interchangeably referred to as a first outfit) for the sake of brevity.

Whenever the smart closet device 102 is to be trained for an outfit, anoperator of the smart closet device 102 may place the outfit inside thesmart closet device 102. In one example, the operator may be an employeeor a vendor of a retail store where the smart closet device 102 isdeployed. In another example, if the smart closet device 102 is used fora home closet, then the operator may be an end-customer/consumer. Insome aspects of the present disclosure, in order to place the outfitinside the smart closet device 102, the operator opens or unlocks thedisplay door 108 of the smart closet device 102 and hangs the outfit onthe outfit hanging column 302 of the smart closet device 102, and thencloses or locks the display door 108.

According to some aspects of the present disclosure, the operator mayopen the display door 108 of the smart closet device 102 by one or moreof: making a hand gesture, providing a voice command, interacting withthe display door 108, and interacting with the control panel 116 of thesmart closet device 102. In an example, the operator may wave his or herhand in front of the smart closet device 102 to open the display door108 of the smart closet device 102. In some examples, the operator maymake any kind of hand movement in front of the smart closet device 102including thumbs up, hand sweep, pointing fist, or any other movementthat operator can make with his or her hand. According to aspects of thepresent disclosure, the second image sensor 202 of the smart closetdevice 102 may track and recognize the hand gesture of the operator thatthe operator makes in front of the smart closet device 102. In response,the control panel 116 may trigger actuators to open the display door108. As may be understood, the smart closet device 102 may bepre-trained for recognizing different hand gestures. In an example, thesmart closet device 102 may be pre-trained based on conventional orproprietary methods and techniques.

In some aspects of the present disclosure, the operator may provide avoice command to the smart closet device 102 to open the display door108. The voice command may be detected by the microphone 118 of thesmart closet device 102. The voice command may be one of pre-recordedvoice commands. Examples of pre-recorded voice commands may include“open”, “open the door”, “open the closet”, “unlock”, “unlock the door”,and “unlock the closet”, and other such voice commands. In some aspectsof the present disclosure, the pre-recorded voice commands may be storedin the memory 106 of the smart closet device 102. In an example, thecomputing unit 104 may compare the voice command with pre-recorded voicecommands to determine if the voice command is one of the pre-recordedvoice commands. In response to the determination, the display door 108gets opened.

According to some aspects of the present disclosure, the operator mayinteract with the control panel 116 of the smart closet device 102 toopen the display door 108. In an example, the operator may press the“door opening” button on the control panel 116 to open the display door108. In some examples, the operator may input authentication detailsusing a keypad on the control panel 116. For example, the operator mayinput a password or a passcode to unlock the display door 108. Also, asdescribed above, the display door 108 may be a touch screen. In anexample, the operator may tap on the display door 108 to unlock it. Insome examples, the operator may manually open the door. Other ways ofopening or unlocking the display door 108 are possible and whilst notexplicitly discussed, are contemplated herein.

Once the display door 108 gets opened, the operator may hang the outfiton the outfit hanging column 302. The hanging column 302 may beextendable such that it travels a distance of 0.1-0.8 times the heightof the closet device 102. A retractable hanging column 302 permitsbetter imaging of individual garments as they are scanned by imagesensors 112. Preferably the hanging column 302 is mounted to a tophorizontal surface in the interior of the enclosure 304 of the closetdevice 102. A ratcheting or worm drive-type motor [not shown indrawings] permits extension downwards of the column towards the bottomsurface of the interior of the enclosure 304 of the closet device 102 ora rise towards the top of the interior of the enclosure 304 of thecloset device 102. In other embodiments more than one hanging column 302is present in the enclosure 304 of the closet device 102. A plurality ofhanging columns 302 may be mounted on a rail that spans the width of theinterior of the enclosure 304 of the closet device 102. Each hangingcolumn 302 holds a single garment and can move from a far right positionto a far left position while holding at a middle position in order topermit scanning by image sensors 112. In this way, the closet device 102may accommodate multiple garments.

After hanging the outfit on the outfit hanging column 302, the operatormay close the display door 108. In an example, the operator may closethe display door 108 manually. In some aspects of the presentdisclosure, the display door 108 automatically gets closed and locked,for example, when the operator provides a voice command (such as “lock”,“lock the door”, “lock the closet”, “close”, “close the door”, “closethe closet”, and other such voice commands), makes a hand gesture,interacts with the display door 108, and/or interacts with the controlpanel 116 of the smart closet device 102 in any way.

According to some aspects of the present disclosure, the first imagesensor 306 may capture a plurality of images of the outfit hung on theoutfit hanging column 302. In some aspects of the present disclosure,the first image sensor 306 may be configured to move across thehorizontal rails 308 and the vertical rails 310 of the smart closetdevice 102. Also, the first image sensor 306 may be configured to rotateat 360 degrees while moving across the horizontal axis along thehorizontal rail 308 and the vertical axis along the vertical rail 310 inorder to capture the outfit accurately and completely (i.e., from allangles). In some aspects of the present disclosure, the smart closetdevice 102 may include a conveyor system and a motor to drive theconveyor system (not shown in FIG. 3). The conveyor system may include aplurality of outfit hanging columns (for hanging outfits), separated andspaced from each other. The conveyor system may move the outfits insidethe smart closet device 102 at a fixed speed. Accordingly, multipleoutfits can be placed inside the smart closet device 102 at a time.Further, each outfit may be brought in front of the first image sensor306 one by one and the first image sensor 306 may capture the images ofthe outfits.

In some aspects of the present disclosure, the computing unit 104 maygenerate a 3D model of the outfit based on the captured plurality ofimages. In an example, the generated 3D model of the outfit mayrepresent outfit data including outfit size, outfit length, shoulderwidth, sleeve length, chest circumference, waist circumference, andother such information related to the outfit. The computing unit 104 mayuse appropriate hardware and instructions to generate the 3D model ofthe outfit.

In some aspects of the present disclosure, the computing unit 104 may beconfigured to identify an outfit category associated with the generated3D model of the outfit from a plurality of outfit categories. Thecomputing unit 104 may analyze the generated 3D model of the outfit toidentify the outfit category associated with the generated 3D model ofthe outfit. In a non-limiting example, the plurality of outfitcategories includes a shirt category, a dress category, a trousercategory, or a jacket category. In an example, the outfit categoryassociated with the generated 3D model of the outfit may be identifiedto be a “shirt category”. In a non-limiting example, the generated 3Dmodel of the outfit may be indicative of the following information:

Outfit size—Medium (M)

Outfit Length—31 Inch

Shoulder Width—17 Inch

Sleeve Length—25 Inch

Chest—48 Inch

Waist—44 Inch

In some aspects of the present disclosure, the operator may also scan abarcode of the outfit using the scanner 120. The scanner 120 may readthe barcode, decode the data included in the barcode, and send the datato the computing unit 104. In an example, the barcode of the outfit mayinclude information about the outfit such as a size of the outfit,material of the outfit, outfit type, a color of the outfit, amanufacturer of the outfit, a price of the outfit, and other suchinformation related to the outfit. In some aspects of the presentdisclosure, the barcode may provide complete information of the outfitincluding the image of the outfit. In some example implementations, thescanner 120 may read the barcode to obtain an identity of the outfit.The computing unit 104 may communicate with a retail store database or amanufacturer's database to obtain information associated with the outfitincluding the image of the outfit based on the identity. According tosome aspects of the present disclosure, the computing unit 104 mayidentify the outfit category associated with the generated 3D model ofthe outfit based on the information included in the barcode. Theinformation that is included in the barcode of the outfit may behereinafter referred to as outfit data.

Thereafter, the computing unit 104 may update the outfit database 114 bystoring the generated 3D model of the outfit along with an identifierassociated with the identified outfit category. In an example, theidentifier associated with the identified outfit category may bepre-defined. In some aspects of the present disclosure, the outfit datamay also be stored in the outfit database 114. In a similar manner asdescribed above, outfit data, outfit categories, and 3D modelscorresponding to remaining outfits (for example, a second outfit, athird outfit, and so on) are generated and stored in the outfit database114 for future use. Accordingly, the smart closet device 102 is trainedfor the plurality of outfits.

Although it has been described that the smart closet device 102generates the 3D models of the plurality of outfits, however, accordingto an aspect of the present disclosure, the 3D models of the pluralityof outfits may be extracted by an external computing device and storedin an external memory. The smart closet device 102 may obtain the 3Dmodels of the plurality of outfits from the external memory for trainingthe smart closet device 102.

According to an aspect of the present disclosure, for selection andtrying on the outfits by a user in real-time, the second image sensor202 of the smart closet device 102 may detect a presence of the userwhenever the user is in a vicinity of the second image sensor 202. Insome aspects of the present disclosure, the second image sensor 202 ofthe smart closet device 102 is always kept ON. Whenever the user appearsin front of the second image sensor 202 or the user is in the vicinityof the second image sensor 202 for more than a threshold period of time,the second image sensor 202 may detect the presence of the user. In anexample, if the user is in the vicinity of the second image sensor 202for more than 5 seconds, then the second image sensor 202 may detect thepresence of the user.

In response to the detection of the user in the vicinity of the secondimage sensor 202, the computing unit 104 may retrieve the 3D modelscorresponding to the plurality of outfits from the outfit database 114.In an example, the retrieved 3D models corresponding to the plurality ofoutfits may include the generated 3D model of the first outfit.Thereafter, the computing unit 104 may generate the user interface 110on the display door 108 to display the retrieved 3D models correspondingto the plurality of outfits. In some aspects of the present disclosure,the computing unit 104 may receive a selection from the user of thegenerated 3D model of the outfit from the displayed 3D modelscorresponding to the plurality of outfits. In an example, the user canselect the generated 3D model of the first outfit through hand gestures,voice commands, and/or interaction with the control panel 116 or thedisplay door 108. As described earlier, the display door 108 may be atouch screen. In an example, the user may swipe through the 3D modelscorresponding to the plurality of outfits and tap on the generated 3Dmodel of the first outfit to make the selection. In another example, theuser may make hand gestures to view the 3D models corresponding to theplurality of outfits and select or choose the 3D model of the firstoutfit. In yet another example, the user may interact with the controlpanel 116. In yet another example, the user may scan a barcode of thedesired outfit using the scanner 120. Other ways of selecting the 3Dmodel of the first outfit (or any other desired outfit) for trying onare possible and whilst not explicitly discussed, are contemplatedherein. In an example, the 3D models corresponding to the plurality ofoutfits may be arranged on the user interface 110 based on outfitcategories including a shirt category, a dress category, a trousercategory, or a jacket category.

Upon receiving the selection of the generated 3D model of the firstoutfit, the second image sensor 202 may capture a plurality of images ofthe user. According to some aspects of the present disclosure, thesecond image sensor 202 may provide the plurality of images of the userto the computing unit 104 for determination of the body size. Thecomputing unit 104 may then determine the body size of the user based onthe plurality of images of the user. In a non-limiting example, the bodysize of the user may include height, chest circumference, waistcircumference, hip circumference, arm width, arm length, thigh length,thigh circumference, head circumference, and other such informationrelated to body parts of the user.

In some aspects of the present disclosure, the smart closet device 102may be pre-trained for the user. For example, in situations where thesmart closet device 102 is deployed for home usage, the second imagesensor 202 may use biometrics-based detection such as fingerprint,facial recognition, and the like to identify the user. Upon detectingthe user, the computing unit 104 may retrieve the user data (includingthe body size) from the memory 106 without having to performdetermination of the body size of the user based on the plurality ofimages of the user.

Thereafter, the computing unit 104 may generate an image of the usercorresponding to the determined body size of the user on the userinterface 110 and overlay the generated 3D model of the first outfitover the generated image of the user on the user interface 110. In anexample, the 3D virtual image of the first outfit is displayed on thetop of the user's body on the user interface 110. Thus, the userinterface 110 provides a visual representation of the outfit on the userwithout the user actually wearing the outfit. Accordingly, the user canmake a purchase decision. In some aspects of the present disclosure,information about the outfit such as size, color, type, description,price, etc., is also displayed on the user interface 110 to assist theuser in making the purchase decision. According to an aspect of thepresent disclosure, the body size (or the body measurement) of the useris also displayed on the user interface 110 for future reference of theuser. In a similar manner as described above, the user can selectvarious outfits from amongst the plurality of outfits for trying on andthe user can see virtual outfit fitting on his or her image generatedcorresponding to the determined body size of the user. In an example,the user can keep swiping through and tapping the outfits until the userfinds one or more desired outfits.

According to some aspects of the present disclosure, the computing unit104 may retrieve the 3D models corresponding to the plurality of outfitsfrom the outfit database 114, in response to receiving an input from theuser. In an aspect, the user may provide the input to the smart closetdevice 102 in form of one or more of a hand gesture, a voice command,and an interaction with the control panel 116. In an example, the usermay access the smart closet device 102 using a membership card providedby a retail store in which the smart closet device 102 is deployed. Forexample, the user may swipe the membership card using the access controlcard reader on the control panel 116. The membership card may storeinformation about the user including the body size of the user.Accordingly, when the user accesses the smart closet device 102 usingthe membership card, the smart closet device 102 (or the computing unit104) recognizes the user and retrieves the body size of the user fromthe membership card. The computing unit 104 may then retrieve the 3Dmodels corresponding to the plurality of outfits from the outfitdatabase 114. In an example, the retrieved 3D models corresponding tothe plurality of outfits includes the generated 3D model of the firstoutfit. The computing unit 104 may then display the 3D modelscorresponding to the plurality of outfits on the display door 108 (forexample, on the user interface 110 generated on the display door 108).The computing unit 104 may then retrieve the generated 3D model of thefirst outfit, in response to receiving an input from the user anddisplay the generated 3D model of the first outfit on the display door108 or the user interface 110. In some aspects of the presentdisclosure, the computing unit 104 may generate an image of the usercorresponding to the body size of the user retrieved from the membershipcard of the user. The computing unit 104 may display the image of theuser on the user interface 110. Further, the computing unit 104 may thenoverlay the generated 3D model of the first outfit over the generatedimage of the user on the user interface 110.

Accordingly, the smart closet device 102 of the present disclosurefacilitates the process of selecting and trying on outfits virtually(for example, the first image sensor 306 and the second image sensor202) and augmented reality that will help embody outfits on the userbody and assist the user in making purchase decision. This not onlyeliminates the need for users to physically wear the chosen/selectedoutfits, but also helps the users to make purchase decisions a lotfaster and enhance their shopping experience. Thus, the smart closetdevice 102 allows the users to freely browse, select, and try-on theirchosen outfits at their own convenience.

FIG. 4 illustrates a flowchart of a method 400 for generating athree-dimensional (3D) model of a first outfit, according to exemplaryaspects of the present disclosure.

At step 402, the method 400 includes capturing a plurality of images ofa first outfit hung on the outfit hanging column 302 by the first imagesensor 306. According to an aspect of the present disclosure, the firstimage sensor 306 moves across a horizontal axis along the horizontalrail 308 and a vertical axis along the vertical rail 310 of the smartcloset device 102. Examples of the first outfit include, but are notlimited to, a shirt, a dress, a trouser, and a jacket.

At step 404, the method 400 includes generating, by the computing unit104, a three-dimensional (3D) model of the first outfit based on thecaptured plurality of images. In an example, the generated 3D model ofthe first outfit may represent outfit data including outfit size, outfitlength, shoulder width, sleeve length, chest circumference, waistcircumference, and other such information related to the first outfit.

At step 406, the method 400 includes updating the outfit database 114 bystoring the generated 3D model of the first outfit in the outfitdatabase 114, where the outfit database 114 includes 3D modelscorresponding to a plurality of outfits. In some aspects of the presentdisclosure, the computing unit 104 may also identify a first outfitcategory associated with the generated 3D model of the first outfit froma plurality of outfit categories based on analyzing the generated 3Dmodel of the first outfit and update the outfit database 114 by storingthe generated 3D model of the first outfit along with an identifierassociated with the identified first outfit category. In an example, theplurality of outfit categories includes a shirt category, a dresscategory, a trouser category or a jacket category.

FIG. 5 illustrates a flowchart of a method 500 for overlaying the 3Dmodel of the first outfit over an image of a user, according toexemplary aspects of the present disclosure.

At step 502, the method 500 includes detecting a user in a vicinity ofthe second image sensor 202 of a plurality of image sensors. A user maybe said to be in a vicinity of the second image sensor 202 if the useris in a field of view of the second image sensor 202. In an example, thefield of view may be defined to be about 10 meters in the field of viewof the second image sensor 202. In an example, the second image sensor202 starts capturing the plurality of images of the user when the useris in the vicinity of the second image sensor 202 for more than athreshold period of time. For example, the second image sensor 202 maystart capturing the plurality of images of the user if the user is inthe vicinity of it for more than 5 seconds.

At step 504, the method 500 includes retrieving 3D models correspondingto a plurality of outfits from the outfit database 114, in response todetecting the user in the vicinity of the second image sensor 202, wherethe retrieved 3D models corresponding to the plurality of outfitsincludes the 3D model of the first outfit.

At step 506, the method 500 includes receiving an input from a user. Inan aspect of the present disclosure, the user may provide the input tothe smart closet device 102 in form of one or more of a hand gesture, avoice command, and an interaction with the control panel 116.

At step 508, the method 500 includes retrieving 3D models correspondingto the plurality of outfits from the outfit database 114, in response toreceiving the input from the user, where the retrieved 3D modelscorresponding to the plurality of outfits includes the 3D model of thefirst outfit.

At step 510, the method 500 includes generating the user interface 110on the display door 108 to display the retrieved 3D models correspondingto the plurality of outfits. In some aspects of the present disclosure,the computing unit 104 may generate the user interface 110 on thedisplay door 108 to display the retrieved 3D models corresponding to theplurality of outfits.

At step 512, the method 500 includes receiving a selection of the 3Dmodel of the first outfit from the displayed 3D models corresponding tothe plurality of outfits. In an example, the user can select the 3Dmodel of the first outfit through hand gestures, voice commands, and/orinteraction with the control panel 116 or the display door 108. Asdescribed earlier, the display door 108 may be a touch screen. In anexample, the user may swipe through the 3D models corresponding to theplurality of outfits and tap on the generated 3D model of the firstoutfit to make the selection.

At step 514, the method 500 includes determining a body size of the userby capturing a plurality of images of the user by the second imagesensor 202. According to aspects of the present disclosure, thecomputing unit 104 may determine the body size of the user based on theplurality of images of the user. In a non-limiting example, the bodysize of the user may include height, chest circumference, waistcircumference, hip circumference, arm width, arm length, thigh length,thigh circumference, head circumference, and other such informationrelated to body parts of the user.

At step 516, the method 500 includes generating an image of the usercorresponding to the determined body size of the user on the userinterface 110. According to some aspects of the present disclosure, thecomputing unit 104 may generate an image of the user corresponding tothe determined body size of the user on the user interface 110.

At step 518, the method 500 includes overlaying the 3D model of thefirst outfit over the generated image of the user on the user interface110. In some aspects of the present disclosure, the computing unit 104may overlay the 3D model of the first outfit over the generated image ofthe user on the user interface 110. Thus, the user interface 110provides a visual representation of the first outfit on the user withoutthe user actually wearing the first outfit.

According to an aspect of the present disclosure, either the combinationof steps 502 and 504 is performed together with steps 510-518, or thecombination of steps 506 and 508 is performed together with steps510-518.

FIG. 6 is an illustration of a non-limiting example of details ofcomputing hardware used in the computing system, according to exemplaryaspects of the present disclosure. In FIG. 6, a controller 600 isdescribed which is a computing device and includes a CPU 601 whichperforms the processes described above/below. The process data andinstructions may be stored in memory 602. These processes andinstructions may also be stored on a storage medium disk 604 such as ahard drive (HDD) or portable storage medium or may be stored remotely.

Further, the claims are not limited by the form of the computer-readablemedia on which the instructions of the inventive process are stored. Forexample, the instructions may be stored on CDs, DVDs, in FLASH memory,RAM, ROM, PROM, EPROM, EEPROM, hard disk or any other informationprocessing device with which the computing device communicates, such asa server or computer.

Further, the claims may be provided as a utility application, backgrounddaemon, or component of an operating system, or combination thereof,executing in conjunction with CPU 601, 603 and an operating system suchas Microsoft Windows 7, UNIX, Solaris, LINUX, Apple MAC-OS and othersystems known to those skilled in the art.

The hardware elements in order to achieve the computing device may berealized by various circuitry elements, known to those skilled in theart. For example, CPU 601 or CPU 603 may be a Xenon or Core processorfrom Intel of America or an Opteron processor from AMD of America, ormay be other processor types that would be recognized by one of ordinaryskill in the art. Alternatively, the CPU 601, 603 may be implemented onan FPGA, ASIC, PLD or using discrete logic circuits, as one of ordinaryskill in the art would recognize. Further, CPU 601, 603 may beimplemented as multiple processors cooperatively working in parallel toperform the instructions of the inventive processes described above.

The computing device in FIG. 6 also includes a network controller 606,such as an Intel Ethernet PRO network interface card from IntelCorporation of America, for interfacing with network 660. As can beappreciated, the network 660 can be a public network, such as theInternet, or a private network such as an LAN or WAN network, or anycombination thereof and can also include PSTN or ISDN sub-networks. Thenetwork 660 can also be wired, such as an Ethernet network, or can bewireless such as a cellular network including EDGE, 3G and 4G wirelesscellular systems. The wireless network can also be WiFi, Bluetooth, orany other wireless form of communication that is known.

The computing device further includes a display controller 608, such asa NVIDIA GeForce GTX or Quadro graphics adaptor from NVIDIA Corporationof America for interfacing with display 610, such as a Hewlett PackardHPL2445w LCD monitor. A general purpose I/O interface 612 interfaceswith a keyboard and/or mouse 614 as well as a touch screen panel 616 onor separate from display 610. General purpose I/O interface alsoconnects to a variety of peripherals 618 including printers andscanners, such as an OfficeJet or DeskJet from Hewlett Packard.

A sound controller 620 is also provided in the computing device such asSound Blaster X-Fi Titanium from Creative, to interface withspeakers/microphone 622 thereby providing sounds and/or music.

The general-purpose storage controller 624 connects the storage mediumdisk 604 with communication bus 626, which may be an ISA, EISA, VESA,PCI, or similar, for interconnecting all of the components of thecomputing device. A description of the general features andfunctionality of the display 610, keyboard and/or mouse 614, as well asthe display controller 608, storage controller 624, network controller606, sound controller 620, and general purpose I/O interface 612 isomitted herein for brevity as these features are known.

The exemplary circuit elements described in the context of the presentdisclosure may be replaced with other elements and structureddifferently than the examples provided herein. Moreover, circuitryconfigured to perform features described herein may be implemented inmultiple circuit units (e.g., chips), or the features may be combined incircuitry on a single chipset, as shown on FIG. 7.

FIG. 7 shows a schematic diagram of a data processing system 700 usedwithin the computing system, according to exemplary aspects of thepresent disclosure. The data processing system 700 is an example of acomputer in which code or instructions implementing the processes of theillustrative aspects of the present disclosure may be located.

In FIG. 7, data processing system 700 employs a hub architectureincluding a north bridge and memory controller hub (NB/MCH) 725 and asouth bridge and input/output (I/O) controller hub (SB/ICH) 720. Thecentral processing unit (CPU) 730 is connected to NB/MCH 725. The NB/MCH725 also connects to the memory 745 via a memory bus, and connects tothe graphics processor 750 via an accelerated graphics port (AGP). TheNB/MCH 725 also connects to the SB/ICH 720 via an internal bus (e.g., aunified media interface or a direct media interface). The CPU Processingunit 730 may contain one or more processors and even may be implementedusing one or more heterogeneous processor systems.

For example, FIG. 8 shows one aspects of the present disclosure of CPU730. In one aspects of the present disclosure, the instruction register838 retrieves instructions from the fast memory 840. At least part ofthese instructions is fetched from the instruction register 838 by thecontrol logic 836 and interpreted according to the instruction setarchitecture of the CPU 730. Part of the instructions can also bedirected to the register 830. In one aspects of the present disclosurethe instructions are decoded according to a hardwired method, and inanother aspects of the present disclosure the instructions are decodedaccording a microprogram that translates instructions into sets of CPUconfiguration signals that are applied sequentially over multiple clockpulses. After fetching and decoding the instructions, the instructionsare executed using the arithmetic logic unit (ALU) 834 that loads valuesfrom the register 832 and performs logical and mathematical operationson the loaded values according to the instructions. The results fromthese operations can be feedback into the register and/or stored in thefast memory 840. According to certain aspects of the presentdisclosures, the instruction set architecture of the CPU 730 can use areduced instruction set architecture, a complex instruction setarchitecture, a vector processor architecture, a very large instructionword architecture. Furthermore, the CPU 730 can be based on the VonNeuman model or the Harvard model. The CPU 730 can be a digital signalprocessor, an FPGA, an ASIC, a PLA, a PLD, or a CPLD. Further, the CPU730 can be an x86 processor by Intel or by AMD; an ARM processor, aPower architecture processor by, e.g., IBM; a SPARC architectureprocessor by Sun Microsystems or by Oracle; or other known CPUarchitecture.

Referring again to FIG. 7, the data processing system 700 can includethat the SB/ICH 720 is coupled through a system bus to an I/O Bus, aread only memory (ROM) 756, universal serial bus (USB) port 764, a flashbinary input/output system (BIOS) 768, and a graphics controller 758.PCI/PCIe devices can also be coupled to SB/ICH 720 through a PCI bus762.

The PCI devices may include, for example, Ethernet adapters, add-incards, and PC cards for notebook computers. The Hard disk drive 760 andCD-ROM 756 can use, for example, an integrated drive electronics (IDE)or serial advanced technology attachment (SATA) interface. In oneaspects of the present disclosure the I/O bus can include a super I/O(SIO) device.

Further, the hard disk drive (HDD) 760 and optical drive 766 can also becoupled to the SB/ICH 720 through a system bus. In one aspects of thepresent disclosure, a keyboard 770, a mouse 772, a parallel port 778,and a serial port 776 can be connected to the system bus through the I/Obus. Other peripherals and devices that can be connected to the SB/ICH720 using a mass storage controller such as SATA or PATA, an Ethernetport, an ISA bus, an LPC bridge, SMBus, a DMA controller, and an AudioCodec.

Moreover, the present disclosure is not limited to the specific circuitelements described herein, nor is the present disclosure limited to thespecific sizing and classification of these elements. For example, theskilled artisan will appreciate that the circuitry described herein maybe adapted based on changes on battery sizing and chemistry, or based onthe requirements of the intended back-up load to be powered.

The functions and features described herein may also be executed byvarious distributed components of a system. For example, one or moreprocessors may execute these system functions, wherein the processorsare distributed across multiple components communicating in a network.The distributed components may include one or more client and servermachines, which may share processing, as shown by FIG. 9, in addition tovarious human interface and communication devices (e.g., displaymonitors, smart phones, tablets, personal digital assistants (PDAs)).The network may be a private network, such as a LAN or WAN, or may be apublic network, such as the Internet. Input to the system may bereceived via direct user input and received remotely either in real-timeor as a batch process. Additionally, some aspects of the presentdisclosures may be performed on modules or hardware not identical tothose described. Accordingly, other aspects of the present disclosuresare within the scope that may be claimed.

The above-described hardware description is a non-limiting example ofcorresponding structure for performing the functionality describedherein.

Obviously, numerous modifications and variations of the presentdisclosure are possible in light of the above teachings. It is thereforeto be understood that within the scope of the appended claims, thedisclosure may be practiced otherwise than as specifically describedherein.

The invention claimed is:
 1. A smart closet device configured tofacilitate virtual outfit fitting, the smart closet device comprising: adisplay door on a front face of the smart closet device, wherein thedisplay door is configured to open and close to provide access to anenclosed space within the smart closet device; a motion activatedlighting device mounted inside the enclosed space; a plurality of imagesensors, wherein a first image sensor of the plurality of image sensorsis positioned in the enclosed space and is configured to move across ahorizontal axis and a vertical axis of the smart closet device; one ormore processors; and one or more memories having instructions that, whenexecuted by the one or more processors, cause the one or more processorsto perform operations comprising: capturing a plurality of images of afirst outfit hung on an outfit hanging column by the first image sensoracross the horizontal axis and the vertical axis, wherein the outfithanging column is positioned in the enclosed space and is configured tohang outfits; generating a three-dimensional (3D) model of the firstoutfit based on the captured plurality of images; updating an outfitdatabase by storing the generated 3D model of the first outfit in theoutfit database, wherein the outfit database includes 3D modelscorresponding to a plurality of outfits; retrieving the 3D modelscorresponding to the plurality of outfits from the updated outfitdatabase, in response to detecting a user in the vicinity of a secondimage sensor of the plurality of image sensors, wherein the retrieved 3Dmodels corresponding to the plurality of outfits includes the generated3D model of the first outfit; generating a user interface on the displaydoor to display the retrieved 3D models corresponding to the pluralityof outfits; receiving a selection of the generated 3D model of the firstoutfit from the displayed 3D models corresponding to the plurality ofoutfits; determining a body size of the user by capturing a plurality ofimages of the user by the second image sensor, upon receiving theselection of the generated 3D model of the first outfit; generating animage of the user corresponding to the determined body size of the useron the user interface; and overlaying the generated 3D model of thefirst outfit over the generated image of the user on the user interface,wherein the smart closet device includes a horizontal rail and avertical rail inside the enclosed space which is defined by a top, abottom, the display door, two vertical side walls and a vertical backwall, wherein the first image sensor is configured to move within theenclosed space along the horizontal rail and the vertical rail.
 2. Thesmart closet device of claim 1, wherein the one or more image sensorsinclude one or more red green blue-depth (RGB-D) cameras.
 3. The smartcloset device of claim 1, wherein the display door includes a displayscreen or a touch screen.
 4. The smart closet device of claim 1, whereinthe smart closet device further comprises: a control panel; amicrophone; and a scanner.
 5. The smart closet device of claim 4,wherein the display door is configured to open and close in response toa user interaction.
 6. The smart closet device of claim 5, wherein theuser interaction includes hand gesture detected by the second imagesensor, a voice command detected by the microphone, or an interactionwith the control panel.